Poplar: A Java Extension for Evolvable Component Integration

نویسندگان

  • Johan Nyström-Persson
  • Shinichi Honiden
چکیده

The Java programming language contains many features that aid component-based software development (CBSD), such as interfaces, visibility levels, and strong support for encapsulation. However, component evolution often causes so-called breaking changes, largely because of the rigidity of component interconnections in the form of explicit method calls and field accesses. We present a Java extension, Poplar, which we are currently developing. In Poplar, intercomponent dependencies are expressed using declarative queries; concrete linking code, generated using a planning algorithm, replaces these at compile time. Poplar includes a minimal specification language based on typestate-like protocols and labels, and a lightweight effect system, which ensures the absence of unwanted interference between handwritten code and generated code. We give several examples of fully automatic component integration using Poplar, and demonstrate its potential to simplify object-oriented software development greatly through evolvable and statically checkable integration links.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Dynamically Evolvable Distributed Systems

Software systems must change over time. Changing business practices, the relentless advance of technology, and the demands of end users drive this evolution. The functionality required of applications inevitably changes in response to these factors. Consequently, in order to remain viable, applications must evolve to meet new requirements. Software component evolution is a major focus of effort...

متن کامل

Research on Support Tools for Object-Oriented Software Reengineering

Reengineering presents a practical and feasible approach to transform legacy systems into evolvable systems. Component-based systems are evolvable and can be easily reengineered. Object-oriented software reengineering should base on component library and focus on seamlessly cooperating with component library and assembly tool to construct the whole reengineering system. So the reengineering dis...

متن کامل

GeneticFPGA: A Java-Based Tool for Evolving Stable Circuits

GeneticFPGA is a Java-based tool for evolving digital circuits on Xilinx XC4000EXTM and XC4000XLTM devices. Unlike other FPGA architectures popular with Evolutionary Hardware researchers, the XC4000 series architectures cannot accept arbitrary configuration data. Only a small subset of configuration bit patterns will produce operational circuits; other configuration bit patterns produce circuit...

متن کامل

Supporting Design by Contract in Java

Design by Contract is a valuable design method for trusted software components. Eiffel shows how to provide appropriate language support for it. However, no such concepts currently exist in Java. Full integration of them into Java may help to improve and guarantee the quality of Java classes. We briefly compare several approaches to extend Java in this way and present our model and a compiler t...

متن کامل

A Localization Algorithm Extension for the Evolvable Sensor Network

A localization algorithm is an important component in a wireless sensor network. The requirements for such an algorithm include high estimated node position accuracy and low communication overhead. In an evolvable sensor network, where some running sensor nodes exhaust after a working period and some new nodes are added to maintain the proper operation of the network, a localization algorithm u...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1106.1531  شماره 

صفحات  -

تاریخ انتشار 2011